/*
 * 2006-04-18 Li Ximing, Zhang Yanbo - Create.
 */
package com.hd123.rumba.log;

import net.sf.hibernate.HibernateException;

import com.hd123.rumba.exception.BusinessException;
import com.hd123.rumba.runtime.IManager;

/**
 * 操作日志 | 管理员 | 接口类
 * 
 * @author lxm
 * @author zhangyanbo
 * 
 */
public abstract interface IOperateLogMgr extends IManager {

  /**
   * 保存日志。
   * 
   * @param log
   *          被保存的日志。
   * @throws BusinessException
   * @throws HibernateException
   */
  public void save(IOperateLog log) throws BusinessException, HibernateException;

  /**
   * 物理删除日志。
   * 
   * @param log
   *          被删除的日志。
   * @throws BusinessException
   * @throws HibernateException
   */
  public void remove(IOperateLog log) throws BusinessException, HibernateException;

  /**
   * 根据uuid取得日志。
   * 
   * @param uuid
   *          日志的uuid。
   * @return 找到的日志，若找不到返回null。
   * @throws BusinessException
   * @throws HibernateException
   */
  public IOperateLog getLog(String uuid) throws BusinessException, HibernateException;

}
